import pandas as pddf = pd.read_csv('../flights.csv')df
/home/jungyeon/anaconda3/envs/imi/lib/python3.7/site-packages/IPython/core/interactiveshell.py:3020: DtypeWarning: Columns (7,8) have mixed types.Specify dtype option on import or set low_memory=False.
interactivity=interactivity, compiler=compiler, result=result)
YEAR
MONTH
DAY
DAY_OF_WEEK
AIRLINE
FLIGHT_NUMBER
TAIL_NUMBER
ORIGIN_AIRPORT
DESTINATION_AIRPORT
SCHEDULED_DEPARTURE
...
ARRIVAL_TIME
ARRIVAL_DELAY
DIVERTED
CANCELLED
CANCELLATION_REASON
AIR_SYSTEM_DELAY
SECURITY_DELAY
AIRLINE_DELAY
LATE_AIRCRAFT_DELAY
WEATHER_DELAY
0
2015
1
1
4
AS
98
N407AS
ANC
SEA
5
...
408.0
-22.0
0
0
NaN
NaN
NaN
NaN
NaN
NaN
1
2015
1
1
4
AA
2336
N3KUAA
LAX
PBI
10
...
741.0
-9.0
0
0
NaN
NaN
NaN
NaN
NaN
NaN
2
2015
1
1
4
US
840
N171US
SFO
CLT
20
...
811.0
5.0
0
0
NaN
NaN
NaN
NaN
NaN
NaN
3
2015
1
1
4
AA
258
N3HYAA
LAX
MIA
20
...
756.0
-9.0
0
0
NaN
NaN
NaN
NaN
NaN
NaN
4
2015
1
1
4
AS
135
N527AS
SEA
ANC
25
...
259.0
-21.0
0
0
NaN
NaN
NaN
NaN
NaN
NaN
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
5819074
2015
12
31
4
B6
688
N657JB
LAX
BOS
2359
...
753.0
-26.0
0
0
NaN
NaN
NaN
NaN
NaN
NaN
5819075
2015
12
31
4
B6
745
N828JB
JFK
PSE
2359
...
430.0
-16.0
0
0
NaN
NaN
NaN
NaN
NaN
NaN
5819076
2015
12
31
4
B6
1503
N913JB
JFK
SJU
2359
...
432.0
-8.0
0
0
NaN
NaN
NaN
NaN
NaN
NaN
5819077
2015
12
31
4
B6
333
N527JB
MCO
SJU
2359
...
330.0
-10.0
0
0
NaN
NaN
NaN
NaN
NaN
NaN
5819078
2015
12
31
4
B6
839
N534JB
JFK
BQN
2359
...
442.0
2.0
0
0
NaN
NaN
NaN
NaN
NaN
NaN
5819079 rows × 31 columns
ORIGIN_AIRPORT
DESTINATION_AIRPORT
Finding the Relationships between Origin and Destination Airports
/home/jungyeon/anaconda3/envs/imi/lib/python3.7/site-packages/requests/__init__.py:104: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (5.0.0)/charset_normalizer (2.0.12) doesn't match a supported version!
RequestsDependencyWarning)
HoloViews는 셀의 출력 결과를 표시하는 방법을 수정하기 위해 %%opts 셀 매직을 사용합니다. Chord 클래스를 사용하여 코드 다이어그램을 표시합니다.
코드 다이어그램에서 각 원(노드로 불리는)은 공항을 나타냅니다. 공항 간의 관계를 보려면, 원 위에 마우스를 올리면 됩니다.
%%opts Chord [height=500 width=500 title="Flights between airports" ]chord = hv.Chord(df_between_airports.head(top))chord
출력된 코드 다이어그램에서는 목적지 공항이 무엇인지 알아볼 수 없는 것 같습니다. 따라서, 출발지와 도착지 공항의 목록을 가져와 hv.Dataset 객체를 생성하는 데 사용하겠습니다.
# get the top count of flights between airportsdf_between_airports = df_between_airports.head(top)# find all the unique origin and destination airportsairports =list(set(df_between_airports["ORIGIN_AIRPORT"].unique().tolist() + df_between_airports["DESTINATION_AIRPORT"].unique().tolist()))airports_dataset = hv.Dataset(pd.DataFrame(airports, columns=["Airport"]))
각 노드에서 공항 이름을 표시하려면, %%opts 셀 매직에서 labels 속성을 설정하고 airports_dataset 변수를 Chord 클래스 초기화자로 전달하면 됩니다.